package com.dsl.dslsuzhou.model.entity.dsl;

import lombok.Data;

import java.util.List;

/**
 * 图表DSL主配置类
 */
@Data
public class ChartDsl {
    
    /**
     * 数据集配置
     */
    private Dataset dataset;
    
    /**
     * 时间窗口配置
     */
    private TimeSpec time;
    
    /**
     * 时间粒度：hour|day|month
     */
    private String granularity;
    
    /**
     * 维度配置列表
     */
    private List<DimensionSpec> dimensions;
    
    /**
     * 过滤条件列表
     */
    private List<FilterSpec> filters;
    
    /**
     * 指标配置列表
     */
    private List<MetricSpec> metrics;
    
    /**
     * 对比配置
     */
    private CompareSpec compare;
    
    /**
     * 排序配置列表
     */
    private List<OrderSpec> orderBy;
    
    /**
     * 填充配置
     */
    private FillSpec fill;
}
